package com.hspedu.abstract_.template;

/** 模板设计模式
 * 1.有多个类，完成不同的任务job
 * 2.要求统计得到各自完成任务的时间
 * 3.请编程实现
 */
public class TestTemplate {
    public static void main(String[] args) {
        AA aa = new AA();
        aa.job();

        BB bb = new BB();
        bb.job();
    }
}

/**
 * 计算任务
 * 1+...+800000
 * 打印出这个计算的时间间隔
 */
class AA{
    public void job(){
        long start = System.currentTimeMillis();
        long num = 0;
        for (long i = 1; i <= 800000; i++) {
            num += 1;
        }
        //得到的结束时间
        long end = System.currentTimeMillis();
        System.out.println("AA执行时间" + (end - start));
    }
}

/**
 * 计算任务
 * 1 * i * i+1 * ... * 80000
 * 打印出这个计算的时间间隔
 */
class BB{
    public void job(){
        long start = System.currentTimeMillis();
        long num = 1;
        for (long i = 1; i <= 80000; i++) {
            num = num * i;
        }
        //得到的结束时间
        long end = System.currentTimeMillis();
        System.out.println("BB执行时间" + (end - start));
    }
}